1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to a system and method for migrating domains from one physical data processing system to another.
2. Description of Related Art
In data processing environments, virtualization is a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources. Virtualization may include, for example, making a single physical resource, e.g., a server, an operating system, an application, storage device, or the like, appear to function as multiple logical resources. Moreover, virtualization may include making multiple physical resources, such as storage devices, servers, or the like, appear as a single logical resource.
A key part of a virtualized environment is the ability to migrate live domains, virtual machines, partitions, or other logical entities specifying a grouping of logical elements (hereafter referred to as a domain) from one physical computing system, e.g., a server, to another. Such migration may be required in order to provide continuous service during scheduled maintenance or even as part of a disaster recovery operation.
In order to maintain optimal performance for a virtualized operating system, the domain must be given direct access to physical input/output (I/O) devices, i.e. the domain may “own” the physical I/O devices, such as storage controllers and network interface cards (NICs). Currently, virtualization migration is limited in that no physical I/O devices can be owned by the domains that are to be migrated, that is they must rely completely on virtualized I/O. This limitation exists because during migration, it cannot be guaranteed that the physical I/O device(s) that are present in the first physical computing system will be present in the other physical computing device to which the virtualized domain is being migrated.
Thus, in order to ensure the migratability of the virtual domains, all I/O is virtualized rather than allowing direct access to the physical I/O devices. This limitation leads to potential performance impacts, since virtualized I/O requires additional overhead operations that are not required in direct access I/O. Such performance impacts may be unacceptable with certain data processing environments depending on the requirements of a given environment.